from pyspark import SparkConf, SparkContext

if __name__ == '__main__':
    # 构建SparkConf对象
    conf = SparkConf().setAppName("test").setMaster("local[*]")
    # 构建SparkContext执行环境入口对象
    sc = SparkContext(conf=conf)

    rdd = sc.parallelize([1, 2, 4, 6, 8, 9, 3])

    result = rdd.takeOrdered(3)
    """
    takeOrdered: 对RDD数据进行排序，取前N个
    参数1：取几个
    参数2：对排序数据更改（不会影响到数据本身，仅在排序时换个样子）
    默认是升序
    """
    print(result)
    # 输出结果 [1, 2, 3]

    result2 = rdd.takeOrdered(3, lambda x: -x)
    print(result2)
    # 输出结果 [9, 8, 6]
